package xyy.d3erpapi.utils;

import cn.hutool.core.util.URLUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;

import java.util.Map;

public class HttpRequestUtil {
    /**
     * 构建带查询参数的 URL
     *
     * @param baseUrl      基础 URL
     * @param queryParams  查询参数
     * @return 完整的 URL
     */
    public static String buildUrl(String baseUrl, Map<String, String> queryParams) {
        StringBuilder urlBuilder = new StringBuilder(baseUrl);

        if (queryParams != null && !queryParams.isEmpty()) {
            urlBuilder.append("?");
            queryParams.forEach((key, value) -> {
                String encodedKey = URLUtil.encode(key);
                String encodedValue = URLUtil.encode(value);
                urlBuilder.append(encodedKey).append("=").append(encodedValue).append("&");
            });
            // 去掉最后一个 "&"
            urlBuilder.setLength(urlBuilder.length() - 1);
        }

        return urlBuilder.toString();
    }

    /**
     * 发送 POST 请求
     *
     * @param url  请求的 URL
     * @param body 请求体内容
     * @return HTTP 响应体
     */
    public static String post(String url, String body) {
        HttpResponse response = HttpRequest.post(url)
                .body(body)
                .execute();

        return response.body();
    }
}
